gl renderer: Support scaleX/Y better when rendering radial gradients
authorTimm Bäder <mail@baedert.org>
Sat, 19 Sep 2020 15:56:25 +0000 (17:56 +0200)
committerTimm Bäder <mail@baedert.org>
Thu, 24 Sep 2020 17:08:22 +0000 (19:08 +0200)
We should do this everywhere, but this is a start.

gsk/gl/gskglrenderer.c

index 96aecbd70bd09bcae6cc392174deb12b4e1b9bb1..80b6ba42d8e266d3c3f5014b6de7cd580f450e09 100644 (file)
@@ -1197,7 +1197,6 @@ render_radial_gradient_node (GskGLRenderer   *self,
                              GskRenderNode   *node,
                              RenderOpBuilder *builder)
 {
-  const float scale = ops_get_scale (builder);
   const int n_color_stops = MIN (8, gsk_radial_gradient_node_get_n_color_stops (node));
   const GskColorStop *stops = gsk_radial_gradient_node_peek_color_stops (node, NULL);
   const graphene_point_t *center = gsk_radial_gradient_node_peek_center (node);
@@ -1213,7 +1212,8 @@ render_radial_gradient_node (GskGLRenderer   *self,
                            builder->dx + center->x,
                            builder->dy + center->y,
                            start, end,
-                           hradius * scale, vradius * scale);
+                           hradius * builder->scale_x,
+                           vradius * builder->scale_y);
 
   load_vertex_data (ops_draw (builder, NULL), node, builder);
 }